﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Infrastructure.Model
{
    /// <summary>
    /// 用户部门位置关联实体
    /// 用于记录用户在组织架构中与具体部门及地理位置的关联关系
    /// 适用于多部门架构、区域权限管理等场景
    /// </summary>
    public class UserDeptLocation
    {
        /// <summary>
        /// 用户唯一标识
        /// 关联用户主表的用户ID
        /// 示例："U1001" 或 "5f3d7e9a-1c4b-4a8d-bf2c-123456789abc"
        /// </summary>
        public string userId { get; set; }

        /// <summary>
        /// 部门位置唯一标识
        /// 表示部门与位置组合的唯一键
        /// 格式建议：部门ID_位置代码（示例："DEPT_IT_CN-BJ"）
        /// </summary>
        public string deptLocId { get; set; }

        /// <summary>
        /// 部门唯一标识
        /// 关联部门主表的部门ID
        /// 示例："DEPT_HR" 或 "DEP002"
        /// </summary>
        public string deptId { get; set; }

        /// <summary>
        /// 部门显示名称
        /// 用于界面展示的部门全称
        /// 示例："信息技术部" 或 "华东销售中心"
        /// </summary>
        public string deptName { get; set; }

        /// <summary>
        /// 地理位置代码
        /// 遵循ISO 3166-2标准或自定义区域编码
        /// 示例："CN-BJ"（中国北京）/"US-CA"（美国加州）
        /// </summary>
        public string locCode { get; set; }

        /// <summary>
        /// 位置层级序列
        /// 表示地理位置在组织架构中的层级路径
        /// 示例："1.3.5" 表示 国家-大区-分支
        /// </summary>
        public string locSeq { get; set; }
    }
}
